﻿using System;
using System.Collections.Generic;

namespace DimensionsHelper.Common.Contracts.DataCollector.Options;

[Serializable]
public class CollectorOptions
{
    /// <summary>
    ///     数据收集器使用的表侧和表头类型
    /// </summary>
    public GroupTypes Types { get; set; } = new GroupTypes();

    /// <summary>
    ///     数据收集器使用的针对值的检测配置
    /// </summary>
    public IDictionary<string, Testing> Testings { get; set; } = new Dictionary<string, Testing>();

    /// <summary>
    ///     数据收集器中对差值计算结果添加的标记
    /// </summary>
    public IDictionary<string, Mark> Marks { get; set; } = new Dictionary<string, Mark>();

    /// <summary>
    ///     数据收集器使用的阈值配置
    /// </summary>
    public IDictionary<string, Threshold> Thresholds { get; set; } = new Dictionary<string, Threshold>();

    /// <summary>
    ///     数据收集器需要计算的Gap
    /// </summary>
    public IDictionary<string, Gap> Gaps { get; set; } = new Dictionary<string, Gap>();

    /// <summary>
    ///     数据收集器的输出配置列表
    /// </summary>
    public IDictionary<string, Export> Exports { get; set; } = new Dictionary<string, Export>();
}